package cn.fl.riskctrl.service;

import cmm.mid.core.framework.page.Pager;
import cn.fl.riskctrl.vo.RskCtrlCfgDVO;
import cn.fl.riskctrl.vo.RskCtrlCfgMVO;
import cn.fl.riskctrl.vo.RskCtrlDVO;
import cn.fl.riskctrl.vo.RskCtrlMVO;
import fl.riskctrl.facade.riskctrl.condition.RskCtrlCfgDQC;

import java.util.List;

/**
 * Created by Administrator on 2017/6/5.
 */
public interface IRskCtrlCfgService {
    /**
     * 查询风控配置主表内容，分页
     * @param page
     * @return
     */
    Pager searchListPage(Pager page);

    /**
     * 查询风控配置子表内容，不分页
     * @param qc
     * @return
     */
    List<RskCtrlCfgDVO> searchListSon(RskCtrlCfgDQC qc);

    /**
     * 新增风控配置主表内容
     * @param entity
     * @return
     */
    Long add(RskCtrlCfgMVO entity);

    /**
     * 新增风控配置子表内容
     * @param entity
     * @return
     */
    Long add(RskCtrlCfgDVO entity);

    /**
     * 修改风控配置主表内容
     * @param entity
     * @return
     */
    Boolean modify(RskCtrlCfgMVO entity);

    /**
     * 修改风控配置子表内容
     * @param entity
     * @return
     */
    Boolean modify(RskCtrlCfgDVO entity);

    /**
     * 风控配置主表，根据id查询一条信息同时删除子表关联信息
     * @param id
     * @return
     */
    Boolean removeById(Long id);

    /**
     * 风控配置子表，根据id删除一条信息
     * @param id
     * @return
     */
    Boolean removeSONById(Long id);

    /**
     * 风控配置主表，根据id查询一条信息
     * @param id
     * @return
     */
    RskCtrlCfgMVO selectById(Long id);

    /**
     * 风控配置子表，根据id查询一条信息
     * @param id
     * @return
     */
    RskCtrlCfgDVO selectSONById(Long id);

    /**
     * 风控配置主表，是否启用
     * @param id
     * @param isValid
     * @return
     */
    Boolean modifyRMIsvalid(Long id, int isValid);

    /**
     * 风控配置指标，是否启用
     * @param id
     * @param isValid
     * @return
     */
    Boolean modifyRDIsvalid(Long id, int isValid);

    /**
     * 风控配置子表，验证状态是否打开
     * @param id
     * @param isCheck
     * @return
     */
    Boolean modifyRDIsCheck(Long id, int isCheck);
}
